package com.xbongbong.schedule.domain.entity;

import com.xbongbong.paas.toolbox.util.DateTimeUtil;
import com.xbongbong.paas.toolbox.wrap.Entity;
import com.xbongbong.schedule.enums.ScheduleTaskStatusEnum;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;

@ToString
@Getter
@Setter
public class ScheduleTaskEntity extends Entity {

    private static final long serialVersionUID = -4837419580642764722L;

    /**
     * 主键
     */
    private Long id;
    /**
     * 公司id
     */
    private String corpid;
    /**
     * 表单id
     */
    private Long formId;
    /**
     * 任务名称
     */
    private String name;
    /**
     * 状态【1未入列、2已入列、3已触发-成功、4已取消-未入列、5已触发-失败、6已取消-已入列】
     * @see ScheduleTaskStatusEnum
     */
    private Integer status;
    /**
     * 触发时间
     */
    private Long triggerTime;
    /**
     * 执行动作
     */
    private String action;
    /**
     * 执行动作传入参数
     */
    private String parameter;
    /**
     * 执行动作返回结果
     */
    private String result;
    /**
     * 关联类型【用于区分场景】
     */
    private Integer scheduleType;
    /**
     * 创建时间
     */
    private Long addTime;
    /**
     * 更新时间
     */
    private Long updateTime;
    /**
     * 删除标记
     */
    private Integer del;

    public ScheduleTaskEntity() {
        status = ScheduleTaskStatusEnum.NONQUEUED.getCode();
        addTime = DateTimeUtil.getInt();
        updateTime = DateTimeUtil.getInt();
        del = 0;
    }

}
